﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class DanhMuc_QuaTrinhHocTap : System.Web.UI.Page
{
    SecurityLib.Sec_AES _ps = new SecurityLib.Sec_AES();
    protected void Page_Load(object sender, EventArgs e)
    {
        
        if (!IsPostBack)
        {
            btnclose.Attributes.Add("onClick", "javascript:history.back(); return false;");//them su kien vao  button de quay ve trang truoc
            EnabledControls(false);
            BindGrid();
            btnsave.Enabled = false;
            btnedit.Enabled = false;
            btndelete.Enabled = false;
            codeid.Value = "";
        }
    }
    private void EnabledControls(bool state)
    {
        txtTenTruong.Enabled = state;
        drlLoaiTruong.Enabled = state;
        txtNganhHoc.Enabled = state;
        txtTu.Enabled = state;
        txtDen.Enabled = state;
        drlBangCap.Enabled = state;
        drlTinhTrang.Enabled = state;
        txtGhiChu.Enabled = state;
        txtThutu.Enabled = state;
    }
    private void BindGrid()
    {
        _dbDataContext _db = new _dbDataContext();
        string madoanvien = _ps.Decrypt(Request.QueryString["codeunionists"].Replace(" ", "+"),"gold",128);
        var val = from p in _db.tblQuaTrinhHocTaps.Where(r=>r.MaDoanVien.Trim()==madoanvien) select new { ID = p.ID, TenTruong = p.TenTruong.Trim(), NganhHoc = p.NganhHoc.Trim(), BangCap = p.tblDanhMuc.TenDanhMuc.Trim(), TinhTrang=p.tblDanhMuc2.TenDanhMuc.Trim() };
        grid.DataSource = val.ToList();
        grid.DataBind();
    }
    private void XoaDuLieu()
    {
        txtTenTruong.Text = "";
        drlLoaiTruong.SelectedValue="-1";
        txtNganhHoc.Text = "";
        txtTu.Text = "";
        txtDen.Text = "";
        drlBangCap.SelectedValue = "-1";
        drlTinhTrang.SelectedValue = "-1";
        txtGhiChu.Text = "";
        txtThutu.Text = "";
    }
    protected void btnadd_Click(object sender, EventArgs e)
    {
        codeid.Value = "";
        if (btnadd.Text == "Thêm mới")
        {
            XoaDuLieu();
            btnadd.Text = "Hủy";
            EnabledControls(true);
            btnsave.Enabled = true;
            btndelete.Enabled = false;
            btnedit.Enabled = false;
            CatalogAccess.BindItemToDropDown(drlLoaiTruong, 1007);
            CatalogAccess.BindItemToDropDown(drlBangCap, 1008);
            CatalogAccess.BindItemToDropDown(drlTinhTrang, 1009);
        }
        else
        {
            btnadd.Text = "Thêm mới";
            EnabledControls(false);
            btnsave.Enabled = false;
            btndelete.Enabled = true;
            btnedit.Enabled = true;
            XoaDuLieu();
        }
    }
    protected void btnsave_Click(object sender, EventArgs e)
    {
        string madoanvien = _ps.Decrypt(Request.QueryString["codeunionists"].Replace(" ", "+"),"gold",128);
        int thutu;
        bool chuyen = int.TryParse(txtThutu.Text, out thutu);
        if (codeid.Value == "")//truong hoi them moi
        {
            bool success = CatalogAccess.InsertQuaTrinhHocTap(txtTenTruong.Text,int.Parse(drlLoaiTruong.SelectedValue.ToString()),txtNganhHoc.Text,txtTu.Text,txtDen.Text,int.Parse(drlBangCap.SelectedValue.ToString()),int.Parse(drlTinhTrang.SelectedValue.ToString()),txtGhiChu.Text,thutu,madoanvien);
            if (success)
            {
                BindGrid();
                lblmessage.Text = "Đã thêm thành công.";
                lblmessage.Visible = true;
                EnabledControls(false);
                btnadd.Text = "Thêm mới";
            }
            else
            {
                lblmessage.Text = "Không thêm được, hãy kiểm tra lại thông tin.";
                lblmessage.Visible = true;
            }
        }
        else//truong  hop update
        {
            bool success = CatalogAccess.UpdateQuaTrinhHocTap(int.Parse(codeid.Value),txtTenTruong.Text, int.Parse(drlLoaiTruong.SelectedValue.ToString()), txtNganhHoc.Text, txtTu.Text, txtDen.Text, int.Parse(drlBangCap.SelectedValue.ToString()), int.Parse(drlTinhTrang.SelectedValue.ToString()), txtGhiChu.Text, thutu);
            if (success)
            {
                BindGrid();
                lblmessage.Text = "Đã cập nhật thành công.";
                lblmessage.Visible = true;
                btnsave.Enabled = false;
                btnedit.Text = "Hiệu chỉnh";
                btnadd.Enabled = true;
            }
            else
            {
                lblmessage.Text = "Không không cập nhật được, hãy kiểm tra lại thông tin.";
                lblmessage.Visible = true;
            }
        }
    }
    protected void btnedit_Click(object sender, EventArgs e)
    {
        if (btnedit.Text == "Hiệu chỉnh")
        {
            EnabledControls(true);
            btnadd.Enabled = false;
            btnsave.Enabled = true;
            btndelete.Enabled = false;
            btnedit.Text = "Hủy";
        }
        else
        {
            btnedit.Text = "Hiệu chỉnh";
            btndelete.Enabled = true;
            btnsave.Enabled = false;
            btnadd.Enabled = true;
            EnabledControls(false);
        }
    }
    protected void btndelete_Click(object sender, EventArgs e)
    {
        bool success = CatalogAccess.DeleteQuaTrinhHocTap(int.Parse(codeid.Value));
        if (success)
        {
            BindGrid();
            XoaDuLieu();
        }
        else
        {
            lblmessage.Text = "Không không cập nhật được, hãy kiểm tra lại thông tin.";
            lblmessage.Visible = true;
        }
    }
    protected void grid_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        int id = int.Parse(grid.DataKeys[e.RowIndex].Value.ToString());
        codeid.Value = id.ToString();
        _dbDataContext _db = new _dbDataContext();
        var val = _db.tblQuaTrinhHocTaps.Single(r => r.ID == id);
        txtTenTruong.Text = val.TenTruong.Trim();
        drlLoaiTruong.SelectedValue = val.LoaiTruongID.ToString();
        txtNganhHoc.Text = val.NganhHoc.Trim();
        txtTu.Text = string.Format("{0:dd/MM/yyyy}", val.TuNgay);
        txtDen.Text = string.Format("{0:dd/MM/yyyy}", val.DenNgay);
        drlBangCap.SelectedValue = val.BangCapID.ToString();
        txtThutu.Text = val.ThuTu.ToString();
        drlTinhTrang.SelectedValue = val.TinhTrangID.ToString();
        txtGhiChu.Text = val.GhiChu.Trim();
        txtThutu.Text = val.ThuTu.ToString();
        lblmessage.Text = "";
        lblmessage.Visible = false;
        btnedit.Enabled = true;
        btndelete.Enabled = true;
        btnadd.Text = "Thêm mới";
        btnsave.Enabled = false;
    }
}